The present invention is related to the field of data processing, in particular to storage-related operation of data processing systems.
In data processing systems, it is known to utilize a set of input/output (I/O) functional components or drivers in a host computer to realize an interface to an external data storage system. The functional components of an I/O interface stack generally perform different types of functions at different logical layers in a coordinated fashion in order to obtain all the desired functionality of the interface. As an example, a high-level I/O driver may interact with a so-called “multipathing” driver that has knowledge of multiple distinct paths to storage devices and that uses the knowledge to distribute storage I/O commands among the different paths in a way that improves performance or achieves other system goals (such as enhanced availability). The multipathing driver in turn relies on one or more lower-level drivers, including a driver for a host bus adapter that provides a hardware-level interface to a storage-oriented interconnect bus that connects the host computer to the storage system.
It is also generally known to utilize data encryption in storage systems for encryption of data “at rest” (i.e., residing on a storage device) to protect against loss or unauthorized access to such data. Data encryption may be performed in software, in hardware, or using some combination of software and hardware. Encryption may be performed in a specialized storage controller of a storage system or in a host computer accessing a storage system via a storage interconnection bus.